Blurring of an image is the appearance of the image or at least an area of the image as out of focus. Blurring can be caused, for example, when an object moves relative to a camera or if the object is out of focus. Blur is a commonly used effect in computer applications. There are various traditional methods for creating a blur effect of an image. For example, to apply a blur effect to an image in a computer application, a convolution operation is typically used. Convolution is producing a new image for the image area to be blurred by calculating weighted averages of pixels in the image area to be blurred to create each pixel of the new image.
Some operating systems use a framework with a blur filter to add a blur effect to an image. Examples of conventional frameworks include Core Image, vImage, and GPUImage. These conventional frameworks create a blur effect for an image generally in the same manner. For example, conventional frameworks can allow a user to select an area of a source image to be blurred, and then convolute the selected area from the source image to create a new blurred image of the selected area, and overlap the source image with the new blurred image to create the blur effect. Generally, for a single blur operation, the larger the size of the area to be blurred, the more resources (e.g., central processing unit (CPU) time and memory) it can take to produce the final result of the blur effect for the source image. With multiple blur operations, the resource consumption is likely to grow exponentially.